package com.imooc.config;

import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 咖啡因 caffeine
 * @author liansen
 * @create 05-31-17:10
 */
@Configuration
public class CaffeineConfig {

    /**
     * 声明统一本地缓存, 所有数据都可以使用本cache
     * @return
     */
    @Bean
    public Cache<String, Object> cache() {
        return Caffeine.newBuilder()
                .initialCapacity(50)  //初始的缓存空间大小
                .maximumSize(1000)      //上限缓存个数
                .build();
    }


    /**
     * 专门用于简历刷新最大次数的本地缓存
     * @return
     */
    @Bean
    public Cache<String, Integer> resumeRefreshCountsCache() {
        return Caffeine.newBuilder()
                .initialCapacity(3)  //初始的缓存空间大小
                .maximumSize(5)      //上限缓存个数
                .build();
    }

}
